package vista;

/*Fabrica concreta de Ventanas
 * Utiliza Singleton
 * */
class FabricaAbstractaVentana implements FabricaAbstracta {

	private static FabricaAbstractaVentana fabricaVentanas;
	
	private FabricaAbstractaVentana(){}
	
	public static synchronized  FabricaAbstractaVentana getInstance()
	{
		if (fabricaVentanas==null)
		{
			fabricaVentanas= new FabricaAbstractaVentana();
			
		}
		
		return fabricaVentanas;
	}
	
	
	@Override
	public Ventana crearVentanaIndependiente() {
		return new VentanaIndependiente();
	}

	@Override
	public VentanaDialogo crearVentanaDependiente(Ventana ventana) 
	{
		VentanaDialogo ventanaDialogo= null;
		
		if (ventana instanceof VentanaIndependiente)
		{
			ventanaDialogo= new VentanaDependiente((VentanaIndependiente) ventana);
		}
		
		return ventanaDialogo;
	}
	

}
